home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: FORM
- " Maintainer: Michael M. Tung <michael.tung@uni-mainz.de>
- " Last Change: 2001 May 10
-
- " First public release based on 'Symbolic Manipulation with FORM'
- " by J.A.M. Vermaseren, CAN, Netherlands, 1991.
- " This syntax file is still in development. Please send suggestions
- " to the maintainer.
-
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
- syn case ignore
-
- " A bunch of useful FORM keywords
- syn keyword formType global local
- syn keyword formHeaderStatement symbol symbols cfunction cfunctions
- syn keyword formHeaderStatement function functions vector vectors
- syn keyword formHeaderStatement set sets index indices
- syn keyword formHeaderStatement dimension dimensions unittrace
- syn keyword formStatement id identify drop skip
- syn keyword formStatement write nwrite
- syn keyword formStatement format print nprint load save
- syn keyword formStatement bracket brackets
- syn keyword formStatement multiply count match only discard
- syn keyword formStatement trace4 traceN contract symmetrize antisymmetrize
- syn keyword formConditional if else endif while
- syn keyword formConditional repeat endrepeat label goto
-
- " some special functions
- syn keyword formStatement g_ gi_ g5_ g6_ g7_ 5_ 6_ 7_
- syn keyword formStatement e_ d_ delta_ theta_ sum_ sump_
-
- " pattern matching for keywords
- syn match formComment "^\ *\*.*$"
- syn match formComment "\;\ *\*.*$"
- syn region formString start=+"+ end=+"+
- syn region formString start=+'+ end=+'+
- syn match formPreProc "^\=\#[a-zA-z][a-zA-Z0-9]*\>"
- syn match formNumber "\<\d\+\>"
- syn match formNumber "\<\d\+\.\d*\>"
- syn match formNumber "\.\d\+\>"
- syn match formNumber "-\d" contains=Number
- syn match formNumber "-\.\d" contains=Number
- syn match formNumber "i_\+\>"
- syn match formNumber "fac_\+\>"
- syn match formDirective "^\=\.[a-zA-z][a-zA-Z0-9]*\>"
-
- " hi User Labels
- syn sync ccomment formComment minlines=10
-
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_form_syn_inits")
- if version < 508
- let did_form_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink formConditional Conditional
- HiLink formNumber Number
- HiLink formStatement Statement
- HiLink formComment Comment
- HiLink formPreProc PreProc
- HiLink formDirective PreProc
- HiLink formType Type
- HiLink formString String
-
- if !exists("form_enhanced_color")
- HiLink formHeaderStatement Statement
- else
- " enhanced color mode
- HiLink formHeaderStatement HeaderStatement
- " dark and a light background for local types
- if &background == "dark"
- hi HeaderStatement term=underline ctermfg=LightGreen guifg=LightGreen gui=bold
- else
- hi HeaderStatement term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold
- endif
- " change slightly the default for dark gvim
- if has("gui_running") && &background == "dark"
- hi Conditional guifg=LightBlue gui=bold
- hi Statement guifg=LightYellow
- endif
- endif
-
- delcommand HiLink
- endif
-
- let b:current_syntax = "form"
-
- " vim: ts=8
-